#include <stdio.h>

struct Node{
	int data;
	Node* next;
};
Node* createList()
{
	Node* res=0;
	for(int i=0;i<10;i++)
	{
		Node* tmp=new Node;
		tmp->data=i;
		tmp->next=0;
		if(res==0)
		{
			res=tmp;
		}
		else
		{
			tmp->next=res;
			res=tmp;
		}
	}
	return res;
}
void printLastK(Node* list,int k)
{
	if(list==0)
	{
		return;
	}
	Node* pre=list;
	Node* cur=list;
	int ind=0;
	while(cur->next!=0 && ind<k)
	{
		cur=cur->next;
		ind++;
	}
	if(ind==k)
	{
		while(cur->next!=0)
		{
			cur=cur->next;
			pre=pre->next;
		}
		printf("%d\n",pre->data);
	}
}
int main()
{
	Node* list=createList();
	printLastK(list,3);
	return 0;
}
